import { ClassifyItem } from '@/api/premium/category/model/classifyModel'

/**
 * 素材类型
 */
export enum MaterialType {
  /**
   * 图片
   */
  IMAGE = 1,
  /**
   * 视频
   */
  VIDEO,
  /**
   * 音乐
   */
  MUSIC,
  /**
   * 字体
   */
  FONT,
}

/**
 * 素材二级类型
 */
export enum MaterialSecType {
  /**
   * 摄影图
   */
  PHOTOGRAPHY = 1,
  /**
   * 免抠
   */
  AVOID_CUTOUT,
  /**
   * 设计矢量图
   */
  VECTORGRAPH,
  /**
   * 无
   */
  NONE = 99,
}

/**
 * 构图方式
 */
export enum MaterialStucture {
  /**
   * 未知
   */
  UNKNOW,
  /**
   * 横图
   */
  HORIZONTAL,
  /**
   * 竖图
   */
  VERTICAL,
  /**
   * 方图
   */
  SQUARE,
  /**
   * 全景图
   */
  PANORAMA,
}

/**
 * 素材状态
 */
export enum MaterialStatus {
  /**
   * 正常
   */
  NORMAL = 1,
  /**
   * 已下架
   */
  FORBIDDEN,
  /**
   * 待审核
   */
  CHECK_PENDING,
  /**
   * 驳回
   */
  REJECT,
}

/**
 *  素材来源 1plus 2 dp 3优图 4 开篇
 */
export enum MaterialSource {
  /**
   * plus
   */
  PLUS = 1,
  /**
   * dp
   */
  DP,
  /**
   * 优图
   */
  BEST_IMG,
  /**
   * 开篇
   */
  OPEN_PIECE,
}

/**
 * 素材用途
 */
export enum MaterialUsage {
  /** 商业 */
  BUSINESS,
  /** 传媒 */
  MEDIA,
}

export type ModifyMaterialAtlasItem = {
  /** 图集id */
  id: string
  /** 图集名称 */
  name: string
}

/**
 * 素材项
 */
export interface MaterialItem {
  id: string

  type: MaterialType

  itype: MaterialSecType

  source: MaterialSource

  sourceId?: number

  image: string

  previewUrl: string

  sourceFile?: string

  videoLength?: number

  title: string

  description: string

  width: number

  height: number

  fileSize: string

  tagsTop?: number

  orignalCategories: string

  views: number

  downloads: number

  status: MaterialStatus

  publishedTime: string

  createTime: string

  updateTime: string

  authorId: string

  authorName: string

  flag: number

  originalSize: string

  originalExtention: string

  tags?: string[]

  categories?: ClassifyItem[]

  atlas?: ModifyMaterialAtlasItem[]

  usage?: MaterialUsage

  structure: MaterialStucture
}
